Comparison of Music Box and HyperCard Music Notations
[Written by Robert Jen (http://www.rjen.com or mailto:rjen@rjen.com), author of Melody Pilot. Please see Tan Kok Mun's Music Box documentation for more details on Music Box format and the HyperCard documentation for more details on the HyperCard play command.]
The following is a brief comparison of Music Box and HyperCard music notations.
Notes
Music Box - there is no default note.
{note}
where note is A, B, C, D, E, F, or G for the white notes or a, c, d, f, or g for the
corresponding black, sharp notes.
HyperCard - default note is whatever the sound resource is recorded at (middle C for
the built-in instruments).
{note}
where note is a, b, c, d, e, f, or g. These can be made sharp by adding a # suffix
(e.g. c# is C-sharp) or flat by adding a b suffix (e.g. db is D-flat).
Note Duration
Music Box - default note duration is 1 (whole note). Duration changes remain in
effect until the next duration change.
L{length}
where length is from 1 to 64 and 1 represents a whole note, 2 a half note, 4 a
quarter note, 8, an eighth note, 16 asixteenth note, 32 a thirty-second note, and
64 a sixty-fourth note.
.
placed after a note lengthens its duration by 50%. Note that although Music Box
does not explicitly support triplets, these can be emulated for all but whole and
sixty-fourth notes by using lengths 3, 6, 12, 24, and 48 (instead of 2, 4, 8, 16,
and 32 respectively).
HyperCard - default note duration is q (quarter note). Duration changes remain in
effect until the next duration change.
{length}
where length is w for a whole note, h for a half note, q for a quarter note, e for
an eighth note, s for a sixteenth note, t for a thirty-second note, and x for a
sixty-fourth note.
.
placed after a note duration lengthens its duration by 50%.
3
placed after a note duration converts the note to a triplet (reduces duration by
50%).
Octave
Music Box - default octave is supposed to be octave 3, which starts with middle C,
but it's probably better to specify one. Octave changes remain in effect until the
next octave change.
O{octave}
where octave ranges from 1 to 6 (Tan's doc says 0 to 6, but the notes in octave 0
aren't correct).
<
move down 1 octave from previous note.
>
move up 1 octave from previous note.
HyperCard - default octave is octave 4, which starts with middle C. Octave changes
remain in effect until the next octave change.
{octave}
after note and before optional duration, where octave ranges from 1 to 7.
Rests
Music Box
P{length}
where length is the same as for note duration above.
HyperCard
r{length}
where length is the same as for note duration above.
Tempo
Music Box - tempo is required to be set before any notes can be played.
T{tempo}
where tempo ranges from 32 to 255 quarter notes per minute.
HyperCard - default tempo is 120
tempo {tempo}
where tempo ranges from 32 to 30000 quarter notes per minute and is passed to
the play command as additional parameters after the instrument.
Style
Music Box
M{style}
where style is 1 for legato, 2 for normal, and 3 for staccato.
HyperCard - not supported.
Instrument
Music Box - not supported.
HyperCard
{instrument}
passed as first argument to play command. HyperCard comes bundled with
Harpsichord, flute, and Boing instruments. Other "snd " resources can be